import os
os.environ["OPENAI_API_BASE"] = "http://192.168.2.45:8000/v1"
os.environ["OPENAI_API_KEY"] = "xxx"
# 加载大模型
from langchain_community.chat_models import ChatOpenAI
from langchain_core.callbacks import StreamingStdOutCallbackHandler
llm =ChatOpenAI(temperature=0,verbose=True,callbacks=[StreamingStdOutCallbackHandler()],max_tokens=10000)

from langchain_core.output_parsers.string import StrOutputParser
from langchain.prompts import SystemMessagePromptTemplate,HumanMessagePromptTemplate,ChatPromptTemplate
from langchain_community.chat_models import ChatOpenAI
from langchain_core.callbacks import StreamingStdOutCallbackHandler
systemMessage=SystemMessagePromptTemplate.from_template(template="""我给一个用户画像, 你需要通过这个用户画像,生成一个用户,此用户对我给出的话题标题是否有点开进行浏览.
                                                        
返回实例:
    think:"理由",
    is_open:"yes|no"
""")
userMessage=HumanMessagePromptTemplate.from_template(template=""""用户画像:
1. **基本信息：**
   - 年龄：30-40岁
   - 地理位置：杭州
   - 职业：可能为中高收入人群，对房地产市场有一定了解，关注改善型住房需求

2. **购房需求：**
   - 偏好：199或187户型，四开间朝南，客厅方正，大阳台和飘窗，对空间布局有较高要求
   - 预算：对伟星项目184个月的单价有所考虑，但可能面临资金压力，对价格敏感
   - 优先选择：缤萃187，遗憾错过，转而关注汀岸晓庐

3. **社交活动：**
   - 寻求加入微信群，可能在寻找购房交流群或与房产相关的讨论群组
   - 对摇号结果敏感，可能频繁参与新房摇号活动

4. **兴趣爱好/关注点：**
   - 对房地产市场动态有关注，如新盘开盘、土拍信息
   - 对品牌如伟星、绿城等有信任度，可能偏好知名开发商项目
   - 对于投资和城市发展有一定程度的关注，比如互联网大鳄落地杭州的投资新闻

5. **心理状态：**
   - 对于未能买到理想户型感到失落，对改善型住房的需求强烈
   - 对当前市场状况感到困惑，认为竞争激烈，房源稀缺

6. **决策过程：**
   - 注重细节，如外立面材质（铝板玻璃）
   - 能灵活调整策略，如伟星摇完后考虑汀岸晓庐 """,)
chat_prompt=ChatPromptTemplate.from_messages([systemMessage,
                                              userMessage])

chain=chat_prompt | llm |StrOutputParser()
res=''
for item in chain.stream({"question":"天降学军、文渊！杭州学区划分最新官宣，业主身价要暴涨！"}):
    res+item
print(res)